home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / ppepakts.zip / CS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-30  |  18KB  |  865 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Date     TDATE001(1000)
  20.     Integer  INTEGER001
  21.     Integer  TINTEGER002(12)
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  TINTEGER009(12)
  29.     Integer  INTEGER010
  30.     Integer  INTEGER011
  31.     Integer  INTEGER012
  32.     Integer  INTEGER013
  33.     Integer  INTEGER014
  34.     Integer  INTEGER015
  35.     Money    MONEY001
  36.     Money    TMONEY002(1000)
  37.     Money    MONEY003
  38.     Money    MONEY004
  39.     Money    MONEY005
  40.     Money    MONEY006
  41.     String   STRING001
  42.     String   STRING002
  43.     String   TSTRING003(1000)
  44.     String   STRING004
  45.     String   STRING005
  46.     String   TSTRING006(12)
  47.     String   STRING007
  48.     String   STRING008
  49.     String   STRING009
  50.     String   STRING010
  51.     String   STRING011
  52.     String   STRING012
  53.     String   STRING013
  54.     String   STRING014
  55.     String   STRING015
  56.     String   STRING016
  57.  
  58. ;------------------------------------------------------------------------------
  59.  
  60.     Cls
  61.     STRING008 = " A 2 3 4 5 6 7 8 910 J Q K A 2 3 4 5 6 7 8 910 J Q K A 2 3 4 5 6 7 8 910 J Q K A 2 3 4 5 6 7 8 910 J Q K W* ⌡#"
  62.     STRING010 = "140203040506070809101112131402030405060708091011121314020304050607080910111213140203040506070809101112130015"
  63.     STRING002 = "YES"
  64.     INTEGER015 = 1
  65.     Gosub LABEL019
  66.     If (INTEGER001 <> 942504) Then
  67.         Gosub LABEL020
  68.     Else
  69.         Gosub LABEL024
  70.     Endif
  71.     GetUser
  72.     Gosub LABEL021
  73.     Newline
  74.     If (STRING004 == "YES") Then
  75.         STRING011 = "N"
  76.     Else
  77.         STRING011 = "Y"
  78.     Endif
  79.     InputYN "Would like the instructions/rules", STRING011, 14
  80.     If (STRING011 <> YesChar()) Then
  81.         Goto LABEL001
  82.     Else
  83.         Goto LABEL027
  84.     Endif
  85.     :LABEL001
  86.     STRING013 = Time()
  87.     STRING012 = "Started Card Sharks at "
  88.     Log STRING012 + STRING013, 1
  89.     Cls
  90.     :LABEL002
  91.     AnsiPos 25, 1
  92.     Print "@X0AC  A  R  D    S  H  A  R  K  S"
  93.     AnsiPos 1, 1
  94.     Print "@X0C@FIRST@"
  95.     AnsiPos 1, 3
  96.     Print "@X0B┌─────┐  ┌─────┐┌─────┐"
  97.     AnsiPos 1, 4
  98.     Print "@X0B│     │  │     ││     │"
  99.     AnsiPos 1, 5
  100.     Print "@X0B│     │  │     ││     │"
  101.     AnsiPos 1, 6
  102.     Print "@X0B│     │  │     ││     │"
  103.     AnsiPos 1, 7
  104.     Print "@X0B└─────┘  └─────┘└─────┘"
  105.     AnsiPos 1, 8
  106.     Print "@X0B┌─────┐  ┌─────┐┌─────┐┌─────┐"
  107.     AnsiPos 1, 9
  108.     Print "@X0B│     │  │     ││     ││     │"
  109.     AnsiPos 1, 10
  110.     Print "@X0B│     │  │     ││     ││     │"
  111.     AnsiPos 1, 11
  112.     Print "@X0B│     │  │     ││     ││     │"
  113.     AnsiPos 1, 12
  114.     Print "@X0B└─────┘  └─────┘└─────┘└─────┘"
  115.     AnsiPos 1, 13
  116.     Print "@X0B┌─────┐  ┌─────┐┌─────┐┌─────┐┌─────┐"
  117.     AnsiPos 1, 14
  118.     Print "@X0B│     │  │     ││     ││     ││     │"
  119.     AnsiPos 1, 15
  120.     Print "@X0B│     │  │     ││     ││     ││     │"
  121.     AnsiPos 1, 16
  122.     Print "@X0B│     │  │     ││     ││     ││     │"
  123.     AnsiPos 1, 17
  124.     Print "@X0B└─────┘  └─────┘└─────┘└─────┘└─────┘"
  125.     AnsiPos 63, 1
  126.     Print "@X0BStatistics"
  127.     AnsiPos 43, 2
  128.     Print "@X78┌────────────────────────┬─────────┐"
  129.     AnsiPos 43, 3
  130.     Print "@X78│         @X75Money@X78          │@X75Min. left@X78│@X08█"
  131.     AnsiPos 43, 4
  132.     Print "@X78├@X7E", Right(MONEY003, 23), " @X78┼@X7E", Right(MinLeft(), 6), "   @X78┤@X08█"
  133.     AnsiPos 43, 5
  134.     Print "@X78├────────────────────────┼─────────┤█"
  135.     AnsiPos 43, 6
  136.     Print "@X78│@X75          Bet           @X78│@X75  Round  @X78│@X08█"
  137.     AnsiPos 43, 7
  138.     Print "@X78├                        ┼@X7D", Right(INTEGER015, 6), "   @X78┤@X08█"
  139.     AnsiPos 43, 8
  140.     Print "@X78└────────────────────────┴─────────┘@X08█"
  141.     AnsiPos 43, 9
  142.     Print "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
  143.     AnsiPos 43, 10
  144.     Print "@X78┌──────────────────────────────────┐"
  145.     AnsiPos 43, 11
  146.     Print "@X78│                                  │@X08█"
  147.     AnsiPos 43, 12
  148.     Print "@X78│                                  │@X08█"
  149.     AnsiPos 43, 13
  150.     Print "@X78└──────────────────────────────────┘@X08█"
  151.     AnsiPos 43, 14
  152.     Print "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
  153.     AnsiPos 45, 11
  154.     Print "@X75(A)ll  (H)alf  (C)hange  (Q)uit"
  155.     AnsiPos 43, 16
  156.     Print "@X78┌──────────────────────────────────┐"
  157.     AnsiPos 43, 17
  158.     Print "@X78│                                  │@X08█"
  159.     AnsiPos 43, 18
  160.     Print "@X78└──────────────────────────────────┘@X08█"
  161.     AnsiPos 43, 19
  162.     Print "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
  163.     AnsiPos 45, 20
  164.     Print "@X05Grand Total: "
  165.     AnsiPos 58, 20
  166.     Print "@X0E", Right(MONEY004, 19)
  167.     INTEGER013 = 1
  168.     INTEGER011 = 5
  169.     INTEGER014 = 15
  170.     MONEY005 = 0
  171.     INTEGER003 = 0
  172.     STRING009 = ""
  173.     MONEY003 = MONEY001
  174.     STRING014 = "NO"
  175.     STRING015 = "NO"
  176.     STRING016 = "NO"
  177.     AnsiPos 1, 18
  178.     Print "@X8EShuffling cards . . . ."
  179.     Gosub LABEL016
  180.     AnsiPos 1, 18
  181.     Print "@X0E                       "
  182.     Gosub LABEL011
  183.     :LABEL003
  184.     Gosub LABEL023
  185.     AnsiPos 44, 4
  186.     Print "@X7E", Right(MONEY003, 23)
  187.     AnsiPos 69, 4
  188.     Print "@X7E", Right(MinLeft(), 6)
  189.     AnsiPos 44, 7
  190.     Print "@X77", Space(23)
  191.     :LABEL004
  192.     STRING007 = ""
  193.     If (INTEGER013 == 7) Then
  194.         MONEY006 = MONEY003 / 2
  195.         AnsiPos 43, 15
  196.         Print "@X0DYou must bet at least: ", MONEY006
  197.     Endif
  198.     AnsiPos 45, 12
  199.     InputStr "Enter bet or option", STRING007, 126, 8, " CNFAHQMD.1234567890", 8
  200.     AnsiPos 1, 19
  201.     Print Space(40)
  202.     If ((STRING007 == "D") && ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec()))) Then
  203.         Cls
  204.         DispFile PPEPath() + "CS.dat", 2 + 1 + 4
  205.         Wait
  206.         Goto LABEL001
  207.     Endif
  208.     If ((STRING007 == "M") && ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec()))) Then
  209.         Cls
  210.         InputText "Change dollar amount", MONEY004, 14, 10
  211.         Newline
  212.         Wait
  213.         Goto LABEL001
  214.     Endif
  215.     If ((STRING007 == "CNF") && ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec()))) Then
  216.         Cls
  217.         InputText "Change BBS name", STRING001, 14, 45
  218.         Newline
  219.         InputText "Change verfication #", INTEGER001, 14, 6
  220.         Newline
  221.         InputText "Change starting bet", MONEY001, 14, 7
  222.         Newline
  223.         FOpen 0, PPEPath() + "CS.cnf", 1, 0
  224.         FPutLn 0, STRING001
  225.         FPutLn 0, INTEGER001
  226.         FPutLn 0, MONEY001
  227.         FClose 0
  228.         Wait
  229.         Goto LABEL001
  230.     Endif
  231.     If (STRING007 == "C") Then
  232.         If ((INTEGER013 <= 4) && (STRING014 == "NO")) Then
  233.             Gosub LABEL026
  234.             AnsiPos 3, 15
  235.             Print TSTRING006(10)
  236.             TSTRING006(INTEGER013 - 1) = TSTRING006(10)
  237.             TINTEGER009(INTEGER013 - 1) = TINTEGER009(10)
  238.             STRING014 = "YES"
  239.             INTEGER013 = INTEGER013 - 1
  240.             INTEGER011 = INTEGER011 - 7
  241.             Gosub LABEL011
  242.             If (TINTEGER009(10) == 15) Then
  243.                 AnsiPos 1, 19
  244.                 Print "@X0ASorry.  Try playing again tomorrow."
  245.                 AnsiPos 1, 22
  246.                 Wait
  247.                 Goto LABEL018
  248.             Endif
  249.         Endif
  250.         If (((INTEGER013 >= 5) && (INTEGER013 <= 6)) && (STRING015 == "NO")) Then
  251.             Gosub LABEL026
  252.             AnsiPos 3, 10
  253.             Print TSTRING006(11)
  254.             TSTRING006(INTEGER013 - 1) = TSTRING006(11)
  255.             TINTEGER009(INTEGER013 - 1) = TINTEGER009(11)
  256.             STRING015 = "YES"
  257.             INTEGER013 = INTEGER013 - 1
  258.             INTEGER011 = INTEGER011 - 7
  259.             Gosub LABEL011
  260.             If (TINTEGER009(11) == 15) Then
  261.                 AnsiPos 1, 19
  262.                 Print "@X0ASorry.  Try playing again tomorrow."
  263.                 AnsiPos 1, 22
  264.                 Wait
  265.                 Goto LABEL018
  266.             Endif
  267.         Endif
  268.         If (((INTEGER013 >= 7) && (INTEGER013 <= 8)) && (STRING016 == "NO")) Then
  269.             Gosub LABEL026
  270.             AnsiPos 3, 5
  271.             Print TSTRING006(12)
  272.             TSTRING006(INTEGER013 - 1) = TSTRING006(12)
  273.             TINTEGER009(INTEGER013 - 1) = TINTEGER009(12)
  274.             STRING016 = "YES"
  275.             INTEGER013 = INTEGER013 - 1
  276.             INTEGER011 = INTEGER011 - 7
  277.             Gosub LABEL011
  278.             If (TINTEGER009(12) == 15) Then
  279.                 AnsiPos 1, 19
  280.                 Print "@X0ASorry.  Try playing again tomorrow."
  281.                 AnsiPos 1, 22
  282.                 Wait
  283.                 Goto LABEL018
  284.             Endif
  285.         Endif
  286.         Goto LABEL004
  287.     Endif
  288.     Select Case (STRING007)
  289.         Case "A"
  290.             MONEY005 = MONEY003
  291.         Case "H"
  292.             MONEY005 = MONEY003 / 2
  293.             If (STRING007 == "Q") Then
  294.                 If (INTEGER013 > 2) Then
  295.                     STRING011 = "N"
  296.                     AnsiPos 1, 21
  297.                     InputYN "You really want to quit and lose your grand total", STRING011, 14
  298.                     If (STRING011 == YesChar()) Then
  299.                         Goto LABEL018
  300.                         Goto LABEL005
  301.                     Endif
  302.                     AnsiPos 1, 21
  303.                     Print "                                                      "
  304.                     Goto LABEL004
  305.                 Endif
  306.                 :LABEL005
  307.                 Goto LABEL018
  308.             Endif
  309.             If (STRING007 == "") Then
  310.                 Goto LABEL004
  311.             Endif
  312.             MONEY005 = S2I(STRING007, 10)
  313.             MONEY005 = MONEY005 * 100
  314.         Case 7, MONEY006
  315.             Goto LABEL004
  316.     End Select
  317.     If (MONEY005 > MONEY003) Then
  318.         AnsiPos 1, 19
  319.         Print "@X09You don't have ", MONEY005, " to bet."
  320.         Goto LABEL004
  321.     Endif
  322.     If (MONEY005 <= 0) Then
  323.         Goto LABEL004
  324.     Endif
  325.     AnsiPos 56, 7
  326.     Print "@X74", Right(MONEY005, 11), "@X0E"
  327.     :LABEL006
  328.     AnsiPos 45, 17
  329.     InputStr "Is next card (H)igher/(L)ower", STRING002, 126, 1, "HLQ", 8
  330.     If (STRING002 == "H") Then
  331.         If (TINTEGER009(INTEGER013) == 0) Then
  332.             AnsiPos 1, 19
  333.             Print "@X0AGood guess.  You won ", MONEY005, " and 5 min."
  334.             AdjTime 5
  335.             MONEY003 = MONEY003 + MONEY005
  336.             Goto LABEL007
  337.         Endif
  338.         If (TINTEGER009(INTEGER013 - 1) == 0) Then
  339.             AnsiPos 1, 19
  340.             Print "@X0AGood guess.  You won ", MONEY005, "."
  341.             MONEY003 = MONEY003 + MONEY005
  342.             Goto LABEL007
  343.         Endif
  344.         If (TINTEGER009(INTEGER013) == 15) Then
  345.             AnsiPos 1, 19
  346.             Print "@X0ASorry.  Try playing again tomorrow."
  347.             MONEY003 = MONEY003
  348.             Gosub LABEL011
  349.             INTEGER013 = 1
  350.             AnsiPos 1, 22
  351.             Wait
  352.             Goto LABEL018
  353.         Endif
  354.         If (TINTEGER009(INTEGER013) > TINTEGER009(INTEGER013 - 1)) Then
  355.             AnsiPos 1, 19
  356.             Print "@X0AGood guess.  You won ", MONEY005, "."
  357.             MONEY003 = MONEY003 + MONEY005
  358.         Endif
  359.         If (TINTEGER009(INTEGER013) == TINTEGER009(INTEGER013 - 1)) Then
  360.             AnsiPos 1, 19
  361.             Print "@X0BYou tied...."
  362.             MONEY003 = MONEY003
  363.         Endif
  364.         If (TINTEGER009(INTEGER013) < TINTEGER009(INTEGER013 - 1)) Then
  365.             AnsiPos 1, 19
  366.             Print "@X0CSorry, you guessed incorrectly."
  367.             MONEY003 = MONEY003 - MONEY005
  368.             If (MONEY003 == 0) Then
  369.                 STRING009 = "NO"
  370.             Endif
  371.         Endif
  372.         :LABEL007
  373.         Gosub LABEL026
  374.         Gosub LABEL011
  375.         Goto LABEL003
  376.     Endif
  377.     If (STRING002 == "L") Then
  378.         If (TINTEGER009(INTEGER013) == 0) Then
  379.             AnsiPos 1, 19
  380.             Print "@X0AGood guess.  You won ", MONEY005, " and 5 min."
  381.             AdjTime 5
  382.             MONEY003 = MONEY003 + MONEY005
  383.             Goto LABEL008
  384.         Endif
  385.         If (TINTEGER009(INTEGER013 - 1) == 0) Then
  386.             AnsiPos 1, 19
  387.             Print "@X0AGood guess.  You won ", MONEY005, "."
  388.             MONEY003 = MONEY003 + MONEY005
  389.             Goto LABEL008
  390.         Endif
  391.         If (TINTEGER009(INTEGER013) == 15) Then
  392.             AnsiPos 1, 19
  393.             Print "@X0ASorry.  Try playing again tomorrow."
  394.             MONEY003 = MONEY003
  395.             Gosub LABEL011
  396.             INTEGER013 = 1
  397.             AnsiPos 1, 22
  398.             Wait
  399.             Goto LABEL018
  400.         Endif
  401.         If (TINTEGER009(INTEGER013) < TINTEGER009(INTEGER013 - 1)) Then
  402.             AnsiPos 1, 19
  403.             Print "@X0AGood guess.  You won ", MONEY005, "."
  404.             MONEY003 = MONEY003 + MONEY005
  405.         Endif
  406.         If (TINTEGER009(INTEGER013) == TINTEGER009(INTEGER013 - 1)) Then
  407.             AnsiPos 1, 19
  408.             Print "@X0BYou tied...."
  409.             MONEY003 = MONEY003
  410.         Endif
  411.         If (TINTEGER009(INTEGER013) > TINTEGER009(INTEGER013 - 1)) Then
  412.             AnsiPos 1, 19
  413.             Print "@X0CSorry, you guessed incorrectly."
  414.             MONEY003 = MONEY003 - MONEY005
  415.             If (MONEY003 == 0) Then
  416.                 STRING009 = "NO"
  417.             Endif
  418.         Endif
  419.         :LABEL008
  420.         Gosub LABEL026
  421.         Gosub LABEL011
  422.         Goto LABEL003
  423.     Endif
  424.     If (STRING002 == "Q") Then
  425.         Gosub LABEL026
  426.         If (INTEGER013 > 2) Then
  427.             STRING011 = "N"
  428.             AnsiPos 1, 21
  429.             InputYN "You really want to quit and lose your grand total", STRING011, 14
  430.             If (STRING011 == YesChar()) Then
  431.                 Goto LABEL018
  432.                 Goto LABEL009
  433.             Endif
  434.             AnsiPos 1, 21
  435.             Print "                                                      "
  436.             Goto LABEL006
  437.         Endif
  438.         :LABEL009
  439.     Else
  440.         Goto LABEL006
  441.         If ((MONEY003 == 0) && (MONEY004 == 0)) Then
  442.             AnsiPos 1, 20
  443.             Print "@X0EYou have no more money to play with for today.  Play again tomorrow."
  444.             Delay 90
  445.         Else
  446.             Return
  447.             :LABEL010
  448.             If (INTEGER013 < 7) Then
  449.                 MONEY004 = MONEY004 + MONEY003
  450.             Else
  451.                 MONEY004 = MONEY003
  452.             Endif
  453.             INTEGER013 = 1
  454.             AnsiPos 58, 20
  455.             Print "@X0E", Right(MONEY004, 19)
  456.             AnsiPos 56, 4
  457.             Print "@X77", Space(11)
  458.             AnsiPos 56, 7
  459.             Print "@X77", Space(11)
  460.             STRING011 = "Y"
  461.             AnsiPos 1, 21
  462.             InputYN "Would like to play again", STRING011, 14
  463.             If (STRING011 == YesChar()) Then
  464.                 Cls
  465.                 STRING009 = ""
  466.                 INTEGER015 = INTEGER015 + 1
  467.                 Goto LABEL002
  468.             Else
  469.                 Goto LABEL018
  470.             Endif
  471.             :LABEL011
  472.             If (INTEGER013 <= 4) Then
  473.                 If ((STRING015 == "YES") && (INTEGER013 == 4)) Then
  474.                     INTEGER014 = 10
  475.                     Goto LABEL012
  476.                 Endif
  477.                 INTEGER014 = 15
  478.                 :LABEL012
  479.                 INTEGER011 = INTEGER011 + 7
  480.             Endif
  481.             If ((INTEGER013 >= 5) && (INTEGER013 <= 6)) Then
  482.                 If ((STRING016 == "YES") && (INTEGER013 == 6)) Then
  483.                     INTEGER014 = 5
  484.                     Goto LABEL013
  485.                 Endif
  486.                 INTEGER014 = 10
  487.                 :LABEL013
  488.                 INTEGER011 = INTEGER011 + 7
  489.             Endif
  490.             If ((INTEGER013 >= 7) && (INTEGER013 <= 9)) Then
  491.                 INTEGER014 = 5
  492.                 INTEGER011 = INTEGER011 + 7
  493.             Endif
  494.             AnsiPos INTEGER011, INTEGER014
  495.             Print TSTRING006(INTEGER013), "@X80"
  496.             INTEGER013 = INTEGER013 + 1
  497.             If (INTEGER013 == 5) Then
  498.                 If (STRING009 <> "NO") Then
  499.                     MONEY003 = MONEY003 + 20000
  500.                     Goto LABEL014
  501.                 Endif
  502.                 MONEY003 = 0
  503.                 :LABEL014
  504.                 INTEGER011 = 12
  505.                 AnsiPos 12, 10
  506.                 Print TSTRING006(INTEGER013 - 1)
  507.             Endif
  508.             If (INTEGER013 == 7) Then
  509.                 If (STRING009 <> "NO") Then
  510.                     MONEY003 = MONEY003 + 20000
  511.                     MONEY003 = MONEY003 + MONEY004
  512.                     Goto LABEL015
  513.                 Endif
  514.                 MONEY003 = MONEY004
  515.                 :LABEL015
  516.                 AnsiPos 58, 20
  517.                 INTEGER011 = 12
  518.                 AnsiPos 12, 5
  519.                 Print TSTRING006(INTEGER013 - 1)
  520.                 AnsiPos 58, 20
  521.                 Print "@X0E", Right(MONEY003, 19)
  522.             Endif
  523.             If ((INTEGER013 == 8) || (STRING009 == "NO")) Then
  524.                 Goto LABEL010
  525.             Endif
  526.             Return
  527.             :LABEL016
  528.             For INTEGER010 = 1 To 12
  529.                 TINTEGER002(INTEGER010) = 0
  530.             Next
  531.             For INTEGER006 = 1 To 12
  532.                 :LABEL017
  533.                 If (INTEGER006 == 1) Then
  534.                     TINTEGER002(INTEGER006) = Random(52)
  535.                 Else
  536.                     TINTEGER002(INTEGER006) = Random(54)
  537.                 Endif
  538.                 If (TINTEGER002(INTEGER006) < 1) Goto LABEL017
  539.                 If (INTEGER006 > 1) Then
  540.                     For INTEGER012 = 1 To INTEGER006 - 1
  541.                         If (TINTEGER002(INTEGER012) == TINTEGER002(INTEGER006)) Goto LABEL017
  542.                     Next
  543.                 Endif
  544.                 TSTRING006(INTEGER006) = Mid(STRING008, TINTEGER002(INTEGER006) * 3 - 2, 3)
  545.                 If (Mid(TSTRING006(INTEGER006), 3, 1) == "*") Then
  546.                     TSTRING006(INTEGER006) = "@X0C" + TSTRING006(INTEGER006)
  547.                 Endif
  548.                 If (Mid(TSTRING006(INTEGER006), 3, 1) == "#") Then
  549.                     TSTRING006(INTEGER006) = "@X0D" + TSTRING006(INTEGER006)
  550.                 Endif
  551.                 If (Mid(TSTRING006(INTEGER006), 3, 1) == "") Then
  552.                     TSTRING006(INTEGER006) = "@X0A" + TSTRING006(INTEGER006)
  553.                 Endif
  554.                 If (Mid(TSTRING006(INTEGER006), 3, 1) == "") Then
  555.                     TSTRING006(INTEGER006) = "@X0B" + TSTRING006(INTEGER006)
  556.                 Endif
  557.                 If (Mid(TSTRING006(INTEGER006), 3, 1) == "") Then
  558.                     TSTRING006(INTEGER006) = "@X03" + TSTRING006(INTEGER006)
  559.                 Endif
  560.                 If (Mid(TSTRING006(INTEGER006), 3, 1) == "") Then
  561.                     TSTRING006(INTEGER006) = "@X09" + TSTRING006(INTEGER006)
  562.                 Endif
  563.                 TINTEGER009(INTEGER006) = Mid(STRING010, TINTEGER002(INTEGER006) * 2 - 1, 2)
  564.             Next
  565.             Return
  566.         Endif
  567.     Endif
  568.     :LABEL018
  569.     If (INTEGER013 > 2) Then
  570.         MONEY004 = 0
  571.     Endif
  572.     If (STRING004 == "YES") Then
  573.         If ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec())) Then
  574.             TDATE001(INTEGER005) = "00-00-00"
  575.         Else
  576.             TDATE001(INTEGER005) = Date()
  577.         Endif
  578.         TMONEY002(INTEGER005) = MONEY004
  579.     Else
  580.         INTEGER004 = INTEGER004 + 1
  581.         If ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec())) Then
  582.             TDATE001(INTEGER004) = "00-00-00"
  583.         Else
  584.             TDATE001(INTEGER004) = Date()
  585.         Endif
  586.         TSTRING003(INTEGER004) = U_Name()
  587.         TMONEY002(INTEGER004) = MONEY004
  588.     Endif
  589.     Gosub LABEL025
  590.     FOpen 0, PPEPath() + "CS.DAT", 1, 0
  591.     FPutLn 0, INTEGER004
  592.     For INTEGER006 = 1 To INTEGER004
  593.         FPutLn 0, TDATE001(INTEGER006)
  594.         FPutLn 0, TSTRING003(INTEGER006)
  595.         FPutLn 0, TMONEY002(INTEGER006)
  596.     Next
  597.     FClose 0
  598.     Goto LABEL028
  599.     :LABEL019
  600.     FOpen 0, PPEPath() + "CS.cnf", 0, 0
  601.     FGet 0, STRING001
  602.     FGet 0, INTEGER001
  603.     FGet 0, MONEY001
  604.     FClose 0
  605.     Return
  606.     :LABEL020
  607.     Cls
  608.     PrintLn 
  609.     PrintLn "@X01            @X71┌────────────────────────────────────────────────────┐@X00"
  610.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  611.     PrintLn "@X01            @X78│ @X74             UNREGISTERED version                  @X71│@X00"
  612.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  613.     PrintLn "@X01            @X78│ @X74             CARD SHARKS V(1.0)                    @X71│@X00"
  614.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  615.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  616.     PrintLn "@X01            @X78│ @X74  You can register me for $10 - refer to           @X71│@X00"
  617.     PrintLn "@X01            @X78│ @X74  the documentation supplied with the program.     @X71│@X00"
  618.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  619.     PrintLn "@X01            @X78└────────────────────────────────────────────────────@X71┘@X00"
  620.     PrintLn "@X01"
  621.     PrintLn "@X0ACopyright (c) 1994 Tin Shack Software"
  622.     AnsiPos 1, 18
  623.     PrintLn "Please wait...."
  624.     Delay 180
  625.     Return
  626.     :LABEL021
  627.     If (FileInf(PPEPath() + "CS.DAT", 1) <> 1) Then
  628.         FCreate 0, PPEPath() + "CS.DAT", 2, 0
  629.         INTEGER004 = 0
  630.         FPutLn 0, INTEGER004
  631.         FClose 0
  632.     Else
  633.         FOpen 0, PPEPath() + "CS.DAT", 0, 0
  634.         FGet 0, INTEGER004
  635.         For INTEGER006 = 1 To INTEGER004
  636.             FGet 0, TDATE001(INTEGER006)
  637.             FGet 0, TSTRING003(INTEGER006)
  638.             FGet 0, TMONEY002(INTEGER006)
  639.             TSTRING003(INTEGER006) = RTrim(TSTRING003(INTEGER006), " ")
  640.             TDATE001(INTEGER006) = RTrim(TDATE001(INTEGER006), " ")
  641.             If (TDATE001(INTEGER006) == Date()) Then
  642.                 If (TSTRING003(INTEGER006) == U_Name()) Then
  643.                     STRING002 = "NO"
  644.                     FClose 0
  645.                     Goto LABEL022
  646.                 Endif
  647.                 Continue
  648.             Endif
  649.             If (TSTRING003(INTEGER006) == U_Name()) Then
  650.                 MONEY004 = TMONEY002(INTEGER006)
  651.                 INTEGER005 = INTEGER006
  652.                 STRING004 = "YES"
  653.             Endif
  654.         Next
  655.         FClose 0
  656.     Endif
  657.     :LABEL022
  658.     If (STRING002 == "NO") Then
  659.         AnsiPos 1, 20
  660.         Print "Sorry, you have already played once today....."
  661.         AnsiPos 1, 21
  662.         Wait
  663.         End
  664.     Endif
  665.     Return
  666.     :LABEL023
  667.     If (MinLeft() <= 5) Then
  668.         AnsiPos 1, 20
  669.         Print "@X0EYou only have ", MinLeft(), " minutes left on your session."
  670.     Endif
  671.     If (MinLeft() < 2) Then
  672.         AnsiPos 1, 20
  673.         Print "@X0EI am saving your game at this point.  You only have ", MinLeft(), " minute left."
  674.         Goto LABEL018
  675.     Endif
  676.     Return
  677.     :LABEL024
  678.     Cls
  679.     PrintLn "  @X0A█████   ████   ████    ████         @X0DCopyright (c) 1994 Tin Shack Software"
  680.     PrintLn "  @X0B█      █    █  █   █   █   █"
  681.     PrintLn "  @X0F█      ██████  ████    █   █"
  682.     PrintLn "  @X0B█      █    █  █   █   █   █"
  683.     PrintLn "  @X0A█████  █    █  █    █  ████"
  684.     PrintLn 
  685.     PrintLn "  @X0A                             ██████  █   █   ███   ████    █  █  █████ "
  686.     PrintLn "  @X0B                             █       █   █  █   █  █   █   █ █   █     "
  687.     PrintLn "  @X0F                             ██████  █████  █████  ████    ██    █████ "
  688.     PrintLn "  @X0B                                  █  █   █  █   █  █   █   █ █       █ "
  689.     PrintLn "  @X0A                             ██████  █   █  █   █  █    █  █  █  █████ "
  690.     PrintLn 
  691.     PrintLn "@X0E     NAMES                         HIGH SCORE          LAST PLAY"
  692.     PrintLn "@X0C     ──────────────────────────────────────────────────────────────@X0E"
  693.     For INTEGER006 = 1 To 5
  694.         AnsiPos 1, INTEGER006 + 14
  695.         Print "@X05     ", Left(ReadLine(PPEPath() + "cs.dat", INTEGER006 * 3), 25)
  696.         AnsiPos 25, INTEGER006 + 14
  697.         Print "@X05     ", Right(ReadLine(PPEPath() + "cs.dat", INTEGER006 * 3 + 1), 16)
  698.         AnsiPos 50, INTEGER006 + 14
  699.         Print "@X05     ", Right(ReadLine(PPEPath() + "cs.dat", INTEGER006 * 3 - 1), 9)
  700.     Next
  701.     PrintLn 
  702.     Return
  703.     :LABEL025
  704.     INTEGER007 = 0
  705.     While (INTEGER007 == 0) Do
  706.         INTEGER007 = 1
  707.         For INTEGER008 = 1 To INTEGER004
  708.             If (TMONEY002(INTEGER008) >= TMONEY002(INTEGER008 + 1)) Then
  709.                 Continue
  710.             Endif
  711.             STRING005 = TMONEY002(INTEGER008)
  712.             TMONEY002(INTEGER008) = TMONEY002(INTEGER008 + 1)
  713.             TMONEY002(INTEGER008 + 1) = STRING005
  714.             STRING005 = TSTRING003(INTEGER008)
  715.             TSTRING003(INTEGER008) = TSTRING003(INTEGER008 + 1)
  716.             TSTRING003(INTEGER008 + 1) = STRING005
  717.             STRING005 = TDATE001(INTEGER008)
  718.             TDATE001(INTEGER008) = TDATE001(INTEGER008 + 1)
  719.             TDATE001(INTEGER008 + 1) = STRING005
  720.             INTEGER007 = 0
  721.         Next
  722.     EndWhile
  723.     Return
  724.     :LABEL026
  725.     AnsiPos 45, 12
  726.     Print "@X7E", Space(32), "@X0E"
  727.     AnsiPos 45, 17
  728.     Print "@X7E", Space(32), "@X0E"
  729.     Return
  730.     :LABEL027
  731.     Cls
  732.     AnsiPos 22, 1
  733.     Print "@X0DC  A  R  D     S  H  A  R  K  S"
  734.     Newline
  735.     PrintLn "@X0EThe object of the game is to guess if the next card drawn will be  "
  736.     PrintLn "higher or lower than the card showing.  Each time you start the game   "
  737.     PrintLn "you are given $200.00.  You can play on this $200.00 until you reach the "
  738.     PrintLn "sixth card on the rack.  At this point you can bet with your Grand Total"
  739.     PrintLn "of accumualted winnings."
  740.     PrintLn "                            Winnings:"
  741.     PrintLn "When you have guessed the next card correctly, you will win what you have"
  742.     PrintLn "bet.  If the next card displayed is equal to the previous card then you tie."
  743.     PrintLn "When you tie you keep what you bet.  If you guessed the next card incorrectly"
  744.     PrintLn "and lose then you will be asked if you wish to play again."
  745.     PrintLn "When betting, you also have the option one time per level to change the card"
  746.     PrintLn "showing.  The card to the far left is the option card."
  747.     PrintLn 
  748.     PrintLn "@X8DNOTE:  @X0EIf, at any time following the second card you exit the game in order"
  749.     PrintLn "to avoid playing out a hand, you will lose all of your accumulated winnings."
  750.     PrintLn "Also, if the card displayed is a @X0CW*@X0E (wild card) then you win your bet plus"
  751.     PrintLn "5 minutes.  When this @X0CW*@X0E card is displayed bet all against it and guess "
  752.     PrintLn "(H)igher or (L)ower because either way you'll win.  If you get a @X0D⌡#@X0E your game"
  753.     PrintLn "is over for the day."
  754.     PrintLn "                   End of instructions/rules"
  755.     Wait
  756.     Goto LABEL001
  757.     :LABEL028
  758.     STRING013 = Time()
  759.     STRING012 = "Ended Card Sharks at "
  760.     Log STRING012 + STRING013, 1
  761.     If (INTEGER001 <> 942504) Then
  762.         Gosub LABEL020
  763.         AnsiPos 1, 21
  764.         Wait
  765.     Else
  766.         Gosub LABEL024
  767.         AnsiPos 1, 21
  768.         Wait
  769.     Endif
  770.     End
  771.  
  772. ;------------------------------------------------------------------------------
  773. ;
  774. ; Usage report (before postprocessing)
  775. ;
  776. ; ■ Statements used :
  777. ;
  778. ;    2       End
  779. ;    9       Cls
  780. ;    12      Wait
  781. ;    151     Goto 
  782. ;    134     Let 
  783. ;    84      Print 
  784. ;    50      PrintLn 
  785. ;    86      If 
  786. ;    1       DispFile 
  787. ;    1       FCreate 
  788. ;    4       FOpen 
  789. ;    6       FClose 
  790. ;    7       FGet 
  791. ;    8       FPutLn 
  792. ;    1       GetUser
  793. ;    2       AdjTime 
  794. ;    2       Log 
  795. ;    2       InputStr 
  796. ;    4       InputYN 
  797. ;    23      Gosub 
  798. ;    10      Return
  799. ;    2       Delay 
  800. ;    6       Newline
  801. ;    4       InputText 
  802. ;    99      AnsiPos 
  803. ;
  804. ;
  805. ; ■ Functions used :
  806. ;
  807. ;    6       *
  808. ;    2       /
  809. ;    54      +
  810. ;    29      -
  811. ;    62      ==
  812. ;    6       <>
  813. ;    13      <
  814. ;    15      <=
  815. ;    7       >
  816. ;    24      >=
  817. ;    84      !
  818. ;    28      &&
  819. ;    13      ||
  820. ;    8       Mid()
  821. ;    1       Left()
  822. ;    11      Right()
  823. ;    6       Space()
  824. ;    2       RTrim()
  825. ;    2       Random()
  826. ;    3       Date()
  827. ;    2       Time()
  828. ;    8       U_Name()
  829. ;    4       YesChar()
  830. ;    10      PPEPath()
  831. ;    3       ReadLine()
  832. ;    5       SysopSec()
  833. ;    5       CurSec()
  834. ;    6       MinLeft()
  835. ;    1       S2I()
  836. ;    1       FileInf()
  837. ;
  838. ;------------------------------------------------------------------------------
  839. ;
  840. ; Analysis flags : As
  841. ;
  842. ; A - Adjust online time remaining ■ 5
  843. ;     Program modify the amount of online time remaining, this may
  844. ;     be a way to bypass time limits
  845. ;     ■ Search for : ADJTIME
  846. ;
  847. ; s - Sysop level access ■ 5
  848. ;     Program is reading the sysop access level, this may be normal
  849. ;     but still it is very suspect. It is the best way to give a user
  850. ;     all priviledges. Check!
  851. ;     ■ Search for : SYSOPSEC()
  852. ;
  853. ;------------------------------------------------------------------------------
  854. ;
  855. ; Postprocessing report
  856. ;
  857. ;    7       For/Next
  858. ;    1       While/EndWhile
  859. ;    73      If/Then or If/Then/Else
  860. ;    1       Select Case
  861. ;
  862. ;------------------------------------------------------------------------------
  863. ;                 AEGiS Corp - Break the routines, code against the machines!
  864. ;------------------------------------------------------------------------------
  865.